Filtrado de datos

Puede configurar el contenido de las listas que se muestran en sus ventanas para que cambie en función de la información que haya especificado en otros lugares de la misma. Por ejemplo, es posible establecer un filtro en una lista de tal modo que ésta muestre tan solo CI que estén asociados con el usuario seleccionado. Alternativamente, puede establecer un filtro en la lista categorías de tal modo que haya distintas categorías a disposición de los distintos elementos de configuración.

Es posible crear nuevos vínculos de objeto que será posible utilizar después para el filtrado de datos. Para obtener más información, consulte Vincular objetos de negocio no vinculados.

Crear una regla de filtrado

Es posible definir regla de filtrado que limiten el número de resultados que devuelve un objeto en función del valor de otro objeto. Puede usar tanto una consulta con filtro en la regla de filtrado como un valor de tiempo de ejecución.

El siguiente ejemplo enseña cómo mostrar solamente aquellos elementos de configuración (CI) asociados al usuario seleccionado en la ventana Incidencia. Puesto que queremos limitar los CI mostrados en la ventana Incidencia, la regla de filtrado estará basada en el atributo Elemento de configuración del objeto Incidencia.

Para crear una regla de filtrado:
  1. Inicie el componente Diseñador de objetos y navegue hasta el objeto de negocio al que quiere imponer filtros.
    Siguiendo el ejemplo, Gestión de incidentes\incidente.
  2. En la lista Atributos, seleccione el atributo al que desea agregar el filtro.
    En el ejemplo, Elemento de configuración.
  3. En la cuadrícula Propiedades, al lado de la propiedad Selectores de filtros, haga clic en .
    Aparece el cuadro de diálogo Selectores de filtro de atributo.
  4. Haga clic en Nueva regla de filtro.
    Aparece el cuadro de diálogo Selector de filtros de atributos.

    Es posible escoger que se limiten los registros que devolverá la regla de filtrado, tanto con una consulta con filtro con criterios para seleccionar solo los valores requeridos, como mediante un valor de tiempo de ejecución que establezca el valor adecuado en algún otro lugar. Por ejemplo, es posible utilizar un valor de tiempo de ejecución para establecer el campo de agrupación en una asignación para hacer que coincidan el grupo primario con el analista que registró la incidencia.

Para obtener más información sobre cómo usar un valor de tiempo de ejecución, consulte Filtrado de datos mediante un valor de tiempo de ejecución.

En nuestro ejemplo se usará una consulta con filtro que selecciona tan solo los CI asociados al Elevado por de este Incidencia.

  1. Haga clic en el botón de opción Seleccionar una consulta con filtro y a continuación, haga clic en[Nuevo].
    Aparece el cuadro de diálogo Nuevo filtro.

Si hubiera una consulta con filtro adecuada, puede seleccionarla de la lista.

Si desea obtener más información sobre cómo crear consultas con filtro, consulte Filtros.

  1. Escriba un Título para e filtro.

Observe que Módulo y Objeto de negocio para los grupos Con base en y Filtrar por aparecen ya definidos. El objeto Con base en será el objeto relacionado sobre cuyo atributo está configurando el selector de filtros (en el ejemplo, Administración de configuración\Elemento de configuración). El objeto Filtrar por será aquél cuyo atributo señala el selector de filtros (en el ejemplo, Gestión de incidentes\Incidencia). Esto quiere decir que al agregar criterios a la consulta con filtro estará haciendo coincidir atributos del Elemento de configuración con atributos de Incidencia.

  1. Seleccione el botón de opción Todos y a continuación, haga clic en Aceptar.
    Aparece el Generador de filtros.
  2. Arrastre Título desde el árbol Atributos hasta la lista Atributos seleccionados.

Es posible también agregar cualquier atributo que quiera utilizar en una lista compleja en un diseño de ventana (para obtener más información acerca de las listas complejas, consulte Listas complejas).

  1. Cuando haya agregado los atributos que requiera, haga clic en Siguiente.
    Aparece la página Criterios. Aquí se establecerán las condiciones que limitan los resultados devueltos.

Se desea especificar un valor de tiempo de ejecución que selecciona tan solo los CI asociados a Elevado por de este Incidencia. El vínculo de CI a Usuario es de muchos a muchos: un usuario puede tener varios CI (un ordenador, monitor, impresora, etc.), y un CI puede estar asociado a varios usuarios (como una impresora de red). Por esta razón existe una colección de Elementos de configuración del usuario en el objeto Elemento de configuración. Es el atributo Usuario de esta colección por el que se quiere filtrar.

Por ello se elige el criterio Elementos de configuración del usuario.Usuario es igual a (Elevado por).

  1. Desde el árbol Atributos arrastre el atributo sobre el que quiere basar el filtro hasta la lista Criterios actuales.
    En este ejemplo, expanda la colección Elemento de configuración del usuario y arrastre Usuario hasta la lista Criterios actuales.
    Aparece el cuadro de diálogo Criterios con el campo Atributo rellenado con Elementos de configuración del usuario.Usuario.
  2. En la lista Condiciones, seleccioneEs igual a.

Además de especificar un valor absoluto o un valor de tiempo de ejecución como criterio, se podrá seleccionar una Condición que establece el criterio en sí mismo, tal como Es usuario actual. Al seleccionar Es usuario activo en el ejemplo, mostraría todos los CI asociados al usuario actual, que no es lo que queremos. Lo que buscamos son los CI asociados con el usuario para el que se elevó la incidencia: el usuario Elevado por. Para conseguirlo, necesitaremos establecer como criterio un valor de tiempo de ejecución.

  1. Haga clic en el botón de opción Seleccionar un valor de tiempo de ejecución.
    Se agregan más controles al cuadro de diálogo Criterios.:
  1. En el árbol, seleccione Elevado por y a continuación, haga clic en Aceptar.
    Se agrega Elementos de configuración del usuario.Usuario Es igual a (Elevado por) a la lista Criterios actuales.
  2. En la ventana del generador de filtros, haga clic en Finalizar y a continuación, haga clic en para guardar los cambios.
    El Generador de filtros se cierra y el cuadro de diálogo Selector de filtros de atributos contiene el filtro nuevo.
  3. En el cuadro de grupoSeleccionar tipo de cliente seleccione Cualquiera si lo que desea es que el filtro se aplique a todos los clientes. Seleccione Web Access si desea que el filtro se aplique solo a aplicaciones distribuidas a través de Web Access, tales como Web Desk. A continuación, haga clic en Aceptar.
    El filtro aparece en la lista Reglas de filtro. Observe que Tipo se establece a Consulta.
  4. Haga clic en Aceptar.
    La regla de filtrado se añade al atributo.
  5. Haga clic en para guardar los cambios realizados al objeto.

Para poder modificar una regla de filtrado existente, selecciónela en la lista Filtrar reglas y a continuación, haga clic en Modificar.

Sería posible crear otra regla de filtrado para que solo se seleccionen los CI que son del Tipo de CI elegido en la incidencia. Esto se hace haciendo coincidir Tipo de clase del CI con Elemento de configuración.Tipo, seleccionado en la incidencia como un valor de tiempo de ejecución.
Es decir: Y Tipo de clase Es igual a (Tipo de Elemento de configuración)

Siempre que sea posible, se debe establecer el filtro sobre un atributo que sea específico del objeto de negocio pertinente, en lugar de sobre uno que venga heredado de algún otro objeto de negocio. Si tiene que crear un filtro sobre un objeto de negocio heredado (es decir, si el atributo por el que se filtra sólo estuviera a disposición en el objeto de negocio heredado), al crear la regla de filtrado será necesaria una condición adicional para que se el filtro se aplique solamente sobre un tipo concreto de objeto de negocio.
Por ejemplo, en el objeto de negocio Incidencia, un filtro de atributo en Proceso\Elevado por necesita filtrar los usuarios por cada Cliente seleccionado en la ventana Incidencia. Esto funcionará para el Incidencia de forma correcta. No obstante, no puede seleccionar Elevar usuario en el objeto de negocio Cambiar porque el atributo Elevar usuario se hereda del objeto de negocio Proceso, de manera que siempre intenta filtrar por Incidencia/Cliente. Usando este ejemplo, no puede definir este filtro en el atributo Proceso/Elevar usuario, porque Cliente no forma parte del objeto de negocio Proceso, pero es nativo en el objeto de negocio Incidencia. Por ello el filtro debe permanecer en Incidencia/Elevado por, pero no se debe aplicar a otros objetos de negocio. Esto se consigue añadiendo una condición de filtrado para aplicar el filtro solamente si el Objeto de negocio es Incidencia.